package com.yxw.live_vod_backend_boot.service;

import com.yxw.live_vod_backend_boot.dto.BillingQueryDTO;
import com.yxw.live_vod_backend_boot.dto.BillingSetupDTO;
import com.yxw.live_vod_backend_boot.vo.BillingSetupVO;
import com.yxw.yxnet_cd_center.common.dto.BaseDTO;
import com.yxw.yxnet_cd_center.common.dto.PageVO;

/**
 * 计费管理
 * @author xiexuxin
 * @date 2023-11-27
 */
public interface BillingSetupService {

    /**
     * 设置直播扣除视频币规则
     * @param setupDTO
     */
    void setupFeeDeductRatio(BillingSetupDTO setupDTO);

    /**
     * 设置视频币兑换规则
     * @param videoCoin
     */
    void setupVideoCoinRatio(Integer videoCoin);

    /**
     * 设置点播空间大小
     * @param onDemandSpace
     */
    void setupOnDemandSpaceSize(Integer onDemandSpace);

    /**
     * 获取计费设置列表
     * @param dto
     * @return
     */
    PageVO<BillingSetupVO> getBillingSetupList(BillingQueryDTO dto);

    /**
     * 获取直播扣除视频币规则
     * @return
     */
    int getFeeDeductRatio();

    /**
     * 获取视频币兑换规则
     * @return
     */
    int getVideoCoinRatio();

    /**
     * 获取点播空间大小
     * @return
     */
    int getOnDemandSpaceSize();

}
